package com.skivingcloud.apiplatform.signature.service;

import cn.hutool.core.util.RandomUtil;
import com.skivingcloud.apiplatform.mng.entity.ApiPlatformMng;
import org.springframework.stereotype.Service;

import java.util.SortedMap;

@Service("defaultExtendCryptService")
public class DefaultExtendCryptServiceImpl  implements ExtendCryptService{
    /**
     * 验签方法
     *
     * @param signatureParam 加密数据
     * @param sortedMap      明文数据
     * @param appSecret      秘钥
     * @return
     */
    @Override
    public boolean verify(String signatureParam, SortedMap<String, Object> sortedMap, String appSecret) {
        return false;
    }

    /**
     * 获取自定义加密方法的key，可以通过apiPlatformMng.getCryptType()获取加密类型（1-对称加密、2-非对称加密、3-摘要算法）来决定生成什么样的秘钥
     * 然后再给appSecret和appPrivateSecret赋值即可
     *
     * @param apiPlatformMng
     * @return
     */
    @Override
    public ApiPlatformMng getSecret(ApiPlatformMng apiPlatformMng) {
        apiPlatformMng.setAppSecret(RandomUtil.randomString(RandomUtil.BASE_CHAR_NUMBER, 32));
        return apiPlatformMng;
    }
}
